package com.hr.framework.shiro.util;

import com.hr.framework.shiro.service.SysPasswordService;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.credential.PasswordService;
import org.apache.shiro.mgt.RealmSecurityManager;
import com.hr.framework.shiro.realm.UserRealm;

/**
 * 用户授权信息
 * 
 * @author ruoyi
 */
public class AuthorizationUtils
{
    /**
     * 清理所有用户授权信息缓存
     */
    public static void clearAllCachedAuthorizationInfo()
    {
        getUserRealm().clearAllCachedAuthorizationInfo();
    }

    /**
     * 获取自定义Realm
     */
    public static UserRealm getUserRealm()
    {
        RealmSecurityManager rsm = (RealmSecurityManager) SecurityUtils.getSecurityManager();
        return (UserRealm) rsm.getRealms().iterator().next();
    }


    public static void main(String[] args)
    {
        // 第一个参数为账户名 第二个参数为密码 第三个参数为盐对应用户表salt（如果没有可以不用填）
        System.out.println(new SysPasswordService().encryptPassword("test", "123456", "0e9029"));
    }
}
